#include "bsp.h"
#include "cop_scheduler.h"
#include "stdio.h"

#include "bsp_spi_sd.h"
#include "sdcard_test.h"

#include "slave.h"
	


// LED任务 500ms
void led_task(void)
{
    static uint8_t cnt = 0;
    
    cnt++;
    if(cnt % 2 == 0)
    {
        GPIO_ResetBits(GPIOF,GPIO_Pin_9);
    }
    else
    {
        GPIO_SetBits(GPIOF,GPIO_Pin_9);

    }

    if(cnt % 10 == 0)
    {
        // comSendBuf(COM2, "hello 485", sizeof("hello 485"));
    }
}

void modbus_slave_task(void)
{
    slave_task();
}

void task_init(void)
{
    // 初始化调度器时钟
    SCH_Init_Systick();

    // LED任务
    SCH_Add_Task(led_task,0,500); 
    // Modbus从机任务
    SCH_Add_Task(modbus_slave_task,0,10); 

    // 启动调度器
    SCH_Start();
}

int main(void)
{
    
    // BSP初始化
    bsp_init();

    slave_init();
	
    printf("hello usart\n");


    // 任务初始化
    task_init();
	
    while(1)
    {
        SCH_Dispatch_Tasks();
    }


}


